home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / scvs / scvs.man < prev    next >
Text File  |  1991-10-28  |  15KB  |  336 lines

  1. '\" Copyright 1991 Regents of the University of California
  2. '\" Permission to use, copy, modify, and distribute this
  3. '\" documentation for any purpose and without fee is hereby
  4. '\" granted, provided that this notice appears in all copies.
  5. '\" The University of California makes no representations about
  6. '\" the suitability of this material for any purpose.  It is
  7. '\" provided "as is" without express or implied warranty.
  8. '\" 
  9. '\" $Header: /sprite/lib/forms/RCS/cmd.man,v 1.3 91/01/07 17:52:58 mottsmth Exp $ SPRITE (Berkeley)
  10. '/" 
  11. .so \*(]ltmac.sprite
  12. .HS SCVS cmds
  13. .BS
  14. '\" Note:  do not modify the .SH NAME line immediately below!
  15. .SH NAME
  16. scvs \- Sprite Concurrent Version System
  17. .SH SYNOPSIS
  18. \fBscvs\fP [\fIscvs_options\fP] [\fIcvs_options\fP] \fIcommand [command_options] [command_args]\fP
  19. .SH OPTIONS
  20. .IP "\fB\-V\fP" 15
  21. Print out verbose status messages during processing.
  22. .IP "\fB\-D\fP" 15
  23. Print out debugging information.
  24. .IP "\fB\-help\fP" 15
  25. Print a summary of the command-line options and exit without updating
  26. any targets.
  27. .BE
  28.  
  29. .SH DESCRIPTION
  30. .PP
  31. \fBScvs\fP is a front end to the \fBcvs\fP source control system, which
  32. in turn is turn a front end for \fBrcs\fP.  
  33. It would probably help to be familiar with both
  34. \fBcvs\fP and \fBrcs\fP before dealing with \fBscvs\fP.
  35. \fBScvs\fP has the following
  36. features in addition to those of \fBcvs\fP and \fBrcs\fP: 
  37. .TP
  38. \(bu
  39. A configuration file is used to specify the root of the \fBcvs\fP repository,
  40. rather than an environment variable or a command line option.
  41. .TP
  42. \(bu 
  43. \fBScvs\fP keeps track of who has copies of which modules. When you check out
  44. a module \fBscvs\fP will tell you about other copies of the same
  45. module you might have, and about other users that have copies of the module.
  46. This allows users to coordinate their modifications to a module.
  47. '\" .TP
  48. '\" \(bu
  49. '\" If the most recent version of a module is checked out then the corresponding
  50. '\" object files are retrieved from the appropriate directory specified in the
  51. '\" configuration file.
  52. .TP
  53. \(bu
  54. Changes to several modules can be committed simultaneously.   
  55. .TP
  56. \(bu
  57. \fBScvs\fP remembers the options used to checkout a module, so that subsequent
  58. updates of the module use the same options, thus guaranteeing that the
  59. same version of the module is updated.
  60. .TP
  61. \(bu
  62. \fBScvs\fP has limited support for symbolic links.  
  63. When a module is checked into the repository any symbolic links it
  64. contains are stored in a file called \fISCVS/links\fP.
  65. When a module is checked out its symbolic links are created from the
  66. contents of \fISCVS/links\fP.
  67. .SH COMMANDS
  68. .PP
  69. Each invocation of \fBscvs\fP must specify a particular command to be performed.
  70. Most of these commands are slight variations on the corresponding \fBcvs\fP
  71. commands.  
  72. .TP
  73. \fBadd\fP [\fB\-m\fP '\fImessage\fP'] \fIfiles...\fP
  74. Create a new file or directory in the repository.  Files are not actually
  75. added to the repository until a \fBcommit\fP command is issued. See the
  76. \fBcvs\fP man page for more details.
  77. .TP
  78. \fBcheckout\fP [\fB\-QqlnfPi\fP] [\fB\-c\fP] [\fB\-r\fP \fItag\fP | \fB\-D\fP \fIdate\fP] \fImodules\fP...
  79. Retrieves copies of the specified modules from the repository.
  80. For each module a
  81. subdirectory with the module's name
  82. is made in the current directory and the module's source tree is put in
  83. the subdirectory. 
  84. '\" If the most recent version of the module is checked out then the corresponding
  85. '\" object files are also copied into the source tree, assuming that the
  86. '\" object file directory is specified in the config file (see 
  87. '\" \fISCVS.config\fP in the
  88. '\" \fBFILES\fP section below).
  89. The default is to check out the most recent version of the module, although
  90. a particular version can be checked out by using
  91. either the \fB\-r\fP 
  92. or \fB\-D\fP options, which will check out a version matching the
  93. given tag or date, respectively. 
  94. The semantics of the \fBscvs\fP checkout command differ from \fBcvs\fP's
  95. in that empty directories are
  96. pruned unless the \fB\-P\fP option is given.
  97. Empty directories usually occur if you check out a version of a module
  98. from before a directory was created.
  99. The \fB\-Q\fP and \fB\-q\fP options cause varying degrees of quietness, and the
  100. \fB\-l\fP option causes the command to not be recursive.
  101. .SP
  102. The \fBcheckout\fP command will tell you of other copies of the module that
  103. you might have, and about other users that have copies of the module.
  104. If you are checking out a version to go off on your own and make changes
  105. that will never be checked back in, then you should use the \fI\-i\fP
  106. option.  You will not be listed as having an official copy of the module,
  107. so other people will not be told that you have a copy.  Everything else
  108. works the same, however.
  109. .SP
  110. \fBco\fP can be used as an abbreviation for \fBcheckout\fP.
  111. .TP
  112. \fBcommit\fP [\fB\-fnl\fP] [\fB\-m\fP '\fIlog_message\fP'] [\fB\-r\fP \fIrevision\fP] [\fImodules...\fP] [\fIfiles...\fP]
  113. The \fBcommit\fP
  114. command is used to check in the changes made to your copies of modules.
  115. If no modules are specified then the current directory is checked in.
  116. \fBScvs\fP differs from \fBcvs\fP 
  117. in that multiple modules can be checked in simultaneously,
  118. and that commit is recursive.
  119. \fBScvs\fP 
  120. achieves this by locking all modules, verifying that they are up-to-date
  121. with the sources in the repository, then committing the changes. 
  122. \fBScvs\fP will also update a snapshot or installed copy of the sources
  123. as indicated in the \fISCVS.config\fP file (see \fBFILES\fP section below).
  124. .SP
  125. The \fB\-f\fP option allows you to commit files that do not contain the
  126. RCS $Id or $Header keywords.  The \fB\-r\fP sets the RCS version number,
  127. and the \fB\-n\fP option causes any commit command in the module database
  128. to not be run. If the \fB\-m\fP option is not specified than an editor
  129. will be invoked to allow you to enter the log message.
  130. .SP
  131. \fBci\fP can be used as an abbreviation for \fBcommit\fP.
  132. .TP
  133. \fBdiff\fP [\fB\-lR\fP] [\fIrcsdiff_options\fP] [\fIfiles...\fP]
  134. Same as for \fBcvs\fP. Runs \fBrcsdiff\fP on the specified files, or on
  135. only those files that you have changed.  
  136. \fBDiff\fP is recursive unless the \fB\-l\fP option is specified.
  137. If no options are given \fBdiff\fP will print out the differences between
  138. your copy of the file and the copy you checked out, i.e. it prints
  139. the changes you made to the file.
  140. If the \fB\-R\fP option is given then the differences between your
  141. copy of the file and the current version is given.
  142. This is useful if your copy is out-of-date and you want to see what
  143. changed.
  144. See the \fBrcsdiff\fP man page for more details on the options.
  145. .TP 
  146. \fBdone\fP [\fB\-d\fP] \fImodules...\fP
  147. When you have finished with a module you should use the \fBdone\fP
  148. command, so that \fBscvs\fP 
  149. can update its database of module copies.
  150. If the \fB\-d\fP
  151. option is given then your copy of the module will be deleted.
  152. If your copy differs from the repository \fBscvs\fP 
  153. will ask you whether
  154. or not you are really done.
  155. Make sure you really, truly are done before running this command,
  156. particularly with the \fB\-d\fP option.
  157. .TP
  158. \fBinfo\fP [\fB\-l\fP] [\fIfiles...\fP]
  159. Prints out status information about your sources.
  160. Output is the same as for the \fBupdate\fP command.
  161. \fBInfo\fP is recursive unless the \fB\-l\fP option is given.
  162. .TP
  163. \fBjoin\fP [\fB\-Qqf\fP] [\fB\-r\fP \fItag\fP | \fB\-D\fP \fIdate\fP] \fIfiles...\fP
  164. Same as for \fBcvs\fP. Used to merge in a new vendor release of a software
  165. package.
  166. See the \fBcvs\fP man page for details.
  167. .TP
  168. \fBlock\fP [\fB\-rw\fP] [\fImodules...\fP]
  169. Each 
  170. \fBscvs\fP command
  171. locks the module in the repository before mucking
  172. around with it, thus preventing concurrent \fBscvs\fP commands from creating
  173. chaos.
  174. If you wish to run several \fBscvs\fP commands without allowing other users
  175. to run commands inbetween you can use \fBlock\fP.
  176. A common example is committing your changes to a module.
  177. If you don't \fBlock\fP the module first
  178. there are potential races between the time you update your sources and
  179. the time you commit them, and between the time you commit them and
  180. update the installed copy.
  181. To prevent these races you should \fBlock\fP any modules you want to commit,
  182. then run any \fBcommit\fP commands, verify that the installed sources
  183. are correct, then \fBunlock\fP the modules.
  184. The \fB\-w\fP 
  185. option
  186. creates a write lock (the default), so that you have exclusive
  187. access to the module.
  188. The \fB\-r\fP
  189. option creates a read lock, allowing other users to read the module
  190. but not modify it.
  191. See the \fBunlock\fP command below.
  192. .TP
  193. \fBlog\fP [\fB\-l\fP] [\fIrlog_options\fP] [\fIfiles...\fP]
  194. Same as for \fBcvs\fP. Does an \fBrlog\fP on the specified files, or on
  195. every file in the current directory.  
  196. \fBLog\fP is recursive unless the \fB\-l\fP option is specified.
  197. See the \fBcvs\fP man page for details.
  198. .TP
  199. \fBpack\fP [\fB\-l\fP] [\fIdirs...\fP]
  200. The pack command is used to put entries for all symbolic links in the
  201. given directories (or the current directory) into the file \fISCVS/links\fP
  202. (see \fBFILES\fP section below).
  203. This file can then be used later by the \fBunpack\fP command to recreate
  204. the symbolic links.  
  205. The \fBpack\fP command is run 
  206. implicitly during a \fBcommit\fP,
  207. and is not usually invoked explicitly.
  208. \fBPack\fP is  recursive, unless
  209. the \fB\-l\fP option is given.
  210. .TP
  211. \fBpatch\fP [\fB\-Qqlf\fP] [\fB\-s\fP|\fB\-t\fP] [\fB\-r\fP \fItag\fP|\fB\-D\fP \fIdate\fP [\fB\-r\fP \fItag\fP|\fB\-D\fP \fIdate\fP]] \fImodules...\fP
  212. Same as for \fBcvs\fP.
  213. Creates a \fBpatch\fP file between the two versions of the modules.
  214. See the \fBcvs\fP man page for details.
  215. .TP
  216. \fBremove\fP \fIfiles...\fP
  217. Same as for \fBcvs\fP.  
  218. Removes the specified files from the repository.
  219. The files are not actually deleted until the current module is \fBcommit\fPted.
  220. See the \fBcvs\fP man page for details.
  221. .TP
  222. \fBstatus\fP [\fB\-l\fP] [\fIfiles...\fP]
  223. Same as for \fBcvs\fP.  
  224. Prints out the \fBrcs\fP version in your copy of the file
  225. and the current \fBrcs\fP version of the file in the repository.
  226. \fBStatus\fP is recursive unless the \fB\-l\fP option is specified.
  227. See the \fBcvs\fP man page for details.
  228. .TP
  229. \fBtag\fP [\fB\-Qqlfn\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP|\fB\-D\fP \fIdate\fP] \fIsymbolic_tag\fP \fImodules...\fP
  230. Same as for \fBcvs\fP.  
  231. Assigns a symbolic tag name to the given (or current) version of the
  232. sources in the repository.
  233. See the \fBcvs\fP man page for details.
  234. .TP
  235. \fBunlock\fP [\fB\-a\fP] [\fImodules...\fP]
  236. Removes any locks you have on the modules.
  237. If the \fB\-a\fP option is given then all locks on the module are removed.
  238. See the \fBlock\fP command above.
  239. .TP
  240. \fBunpack\fP [\fB\-l\fP] [\fIdirs...\fP]
  241. Creates symbolic links in the specified directories (or the current directory)
  242. from the contents of the SCVS.links file.
  243. The \fBunpack\fP command is run 
  244. implicitly during a \fBcheckout\fP or \fBupdate\fP,  
  245. and is not usually invoked explicitly.
  246. \fBUnpack\fP is  recursive, unless
  247. the \fB\-l\fP option is given.
  248. .TP
  249. \fBupdate\fP [\fB\-QqlfpB\fP] [\fB\-e \fIdir\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP|\fB-D\fP \fIdate\fP] [\fImodules...\fP] [\fIfiles...\fP]
  250. The update command is used to make your copies of modules up-to-date with
  251. the sources in the repository. 
  252. The default behavior is to bring your copy up-to-date with the version
  253. that was checked out, although this can be modified with the \fB\-r\fP 
  254. or \fB\-D\fP options.
  255. You will have to specify these options to subsequent \fBupdate\fP commands
  256. if you wish to continue to use a different version than the one that
  257. was checked out.
  258. \fBUpdate\fP is recursive by default, but this can be overridden by the
  259. \fB\-l\fP option.
  260. The \fB\-B\fP option will cause \fBupdate\fP to not update your sources
  261. with any new directories in the repository.  The default behavior is
  262. to do so (this differs from \fBcvs\fP).
  263. See the 
  264. \fBcvs\fP man page for more details on the algorithm used by \fBupdate\fP
  265. and for an explanation of its output. 
  266. .TP
  267. \fBwho\fP [\fImodules...\fP]
  268. Prints out the names of users who have checked out copies of the modules.
  269. .SH FILES
  270. .TP
  271. \fBSCVS.config\fP
  272. When \fBscvs\fP is invoked it works its way up the directory tree looking for
  273. the file \fBSCVS.config\fP.
  274. The first one that is found is used.  The \fBSCVS.config\fP 
  275. file has the following
  276. format.  A blank line or a line beginning with '#' is ignored. A line
  277. beginning with \fBcvsroot:\fP specifies the pathname of the \fBcvs\fP root
  278. directory.
  279. '\" A line beginning with \fBobjdir:\fP specifies the pathname of a directory
  280. '\" tree that contains a copy of the most recent version of the modules,
  281. '\" along with their object files.  The contents of this tree are used to populate
  282. '\" user's copies of modules with the current object files.
  283. The following is a sample SCVS.config
  284. file for the Sprite kernel sources.
  285. .SP
  286. .sp
  287. .in +1i
  288. .ft C
  289. .nf
  290. cvsroot: /sprite/src/kernel/Cvsroot
  291. installdir: /sprite/src/kernel
  292. '\" objdir:  /sprite/src/kernel
  293. .fi
  294. .ft P
  295. .in -1i
  296. .sp
  297. .TP
  298. \fBSCVS/args\fP
  299. This file is created by the \fBcheckout\fP command, and is put in the
  300. top-level subdirectory of a module copy.  It contains the arguments
  301. passed to the \fBcheckout\fP 
  302. command, so that subsequent \fBupdate\fP commands
  303. use the correct version of the sources.
  304. .TP
  305. \fBSCVS/links\fP
  306. The \fBSCVS/links\fP file contains information about symbolic links in the
  307. module sources. 
  308. Each line is of the form "\fIlinkName\fP \fItarget\fP",
  309. where \fIlinkName\fP is the name of the symbolic link to be created, and
  310. \fItarget\fP is the file to which the link points.
  311. \fBSCVS/links\fP is created by the \fBpack\fP and \fBcommit\fP commands,
  312. and read by the \fBcheckout\fP and \fBupdate\fP commands.
  313. Each subdirectory of a module has its own \fBSCVS/links\fP file.
  314. .TP
  315. \fBSCVS/users\fP
  316. The \fBSCVS/users\fP file exists in each module in the repository and contains
  317. information about the users who have the module checked out.
  318. Each line is of the form: "\fIuser\fP \fIpath\fP \fIdate\fP",
  319. where \fIuser\fP is the name of the user who has the module checked out,
  320. \fIpath\fP is the pathname of their copy of the module, 
  321. and \fIdate\fP is the time
  322. when the copy was checked out.
  323. .TP
  324. \fBSCVS/locks\fP
  325. Exists in the module directory in the repository and contains a 
  326. list of locks on the module.  Each line is of the form 
  327. "\fItype user date\fP", where \fItype\fP is one of \fIr\fP or \fIw\fP,
  328. \fIuser\fP is the login name of the lock owner, and 
  329. \fIdate\fP is the time the lock was created.
  330. .SH SEE ALSO
  331. \fBrcs\fP(1), \fBci\fP(1), \fBco\fP(1), \fBrcsdiff\fP(1), \fBpatch\fP(1), 
  332. \fBrcsmerge\fP(1), \fBrlog\fP(1), \fBcvs\fP(1)
  333. .SH KEYWORDS
  334. source control, rcs, cvs
  335.  
  336.